﻿using WMS.FC.Domain.DataTransferObject.System;
using WMS.FC.Domain.DataTransferObject.Technology;
using WMS.FC.Domain.DomainObject.System;

namespace WMS.FC.Application.Technology.Interface
{
    public interface ITechnologyService
    {
        /// <summary>
        /// 新增工艺路径
        /// </summary>
        /// <param name="dTO"></param>
        /// <returns></returns>
        Task<ResponseBase> AddTechnologyRoute(AddDataDTO<EditTechnologyRouteDTO> dTO);

        /// <summary>
        /// 新增工艺路径工序
        /// </summary>
        /// <param name="dTO"></param>
        /// <returns></returns>
        Task<ResponseBase> AddTechnologyRouteProcess(AddDataDTO<EditTechnologyRouteProcessDTO> dTO);

        /// <summary>
        /// 删除工艺路径
        /// </summary>
        /// <param name="dTO"></param>
        /// <returns></returns>
        Task<ResponseBase> DeleteTechnologyRoute(HandleButtonDTO dTO);

        /// <summary>
        /// 删除工艺路径工序
        /// </summary>
        /// <param name="dTO"></param>
        /// <returns></returns>
        Task<ResponseBase> DeleteTechnologyRouteProcess(HandleButtonDTO dTO);

        /// <summary>
        /// 编辑工艺路径
        /// </summary>
        /// <param name="dTO"></param>
        /// <returns></returns>
        Task<ResponseBase> EditTechnologyRoute(EditDataDTO<EditTechnologyRouteDTO> dTO);

        /// <summary>
        /// 编辑工艺路径工序
        /// </summary>
        /// <param name="dTO"></param>
        /// <returns></returns>
        Task<ResponseBase> EditTechnologyRouteProcess(EditDataDTO<EditTechnologyRouteProcessDTO> dTO);

        /// <summary>
        /// 获取工艺路径列表
        /// </summary>
        /// <param name="dTO"></param>
        /// <returns></returns>
        Task<ResponseBase> GetTechnologyRouteList(RequestBase dTO);

        /// <summary>
        /// 获取工艺路径工序列表
        /// </summary>
        /// <param name="dTO"></param>
        /// <param name=""></param>
        /// <returns></returns>
        Task<ResponseBase> GetTechnologyRouteProcessList(GetTechnologyRouteProcessListDTO dTO);
    }
}
